package com.alibaba.springbootrbac.model.param.role;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * @author ZhouYaDong
 * @date 2025/8/22
 * @description 角色分页查询模型
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
public class RolePageQueryParam {

    // 角色名称，用于模糊查询
    private String name;

    // 角色描述，用于模糊查询
    private String description;

    // 创建时间范围（用于查询时间段）
    private LocalDateTime startCreateTime;
    private LocalDateTime endCreateTime;

    // 更新时间范围（用于查询时间段）
    private LocalDateTime startUpdateTime;
    private LocalDateTime endUpdateTime;

    // 分页参数

    /**
     * 页码
     */
    @NotNull(message = "当前页面不能为空")
    @Min(value = 1,message = "当前页码必须大于等于1")
    private Integer pageNum = 1;  // 当前页，默认第一页

    /**
     * 页面size
     */
    @NotNull(message = "页面size不能为空")
    @Min(value = 1,message = "页面size必须大于等于1")
    private Integer pageSize = 10;  // 每页大小，默认10条

}
